home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_c48.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
49KB
|
2,297 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_c.h"
/*No:IFTHENLIST.nb_errors*/
/*No:IFTHENLIST.static_false*/
/*No:IFTHENLIST.non_static*/
/*No:IFTHENLIST.add_last*/
T6 r227use_current(T227* C){
T6 R=0;
T2 _i=0;
_i=1;
while (!(((_i)>(((T228*)((C)->_list/*0*/))->_upper/*8*/))||(R))) {
R=r226use_current((T226*)(r228item((T228*)((C)->_list/*0*/),_i)));
_i=(_i)+(1);
}
return R;
}
T2 r227compile_to_c(T227* C){
T2 R=0;
T2 _i=0;
T2 _previous=0;
T2 _state=0;
_i=1;
while (!((_state)==(2))) {
{int z1=_state;
if((0==z1)){
/*[IF*/
if((_i)>(((T228*)((C)->_list/*0*/))->_upper/*8*/)){
_state=2;
R=_previous;
}
else{
_previous=r226compile_to_c((T226*)(r228item((T228*)((C)->_list/*0*/),_i)),0);
{int z2=_previous;
if((22==z2)){
_state=1;
}
else
if((21==z2)){
}
else {R=20;
_state=2;
}}
}
/*FI]*/
}
else{/*[IF*/
if((_i)>(((T228*)((C)->_list/*0*/))->_upper/*8*/)){
_state=2;
{int z2=_previous;
if((20==z2)){
R=20;
}
else{R=22;
}}
}
else{
_previous=r226compile_to_c((T226*)(r228item((T228*)((C)->_list/*0*/),_i)),1);
{int z2=_previous;
if((22==z2)){
}
else
if((21==z2)){
}
else {_state=2;
R=20;
}}
}
/*FI]*/
}}
_i=(_i)+(1);
}
return R;
}
T0* r227to_runnable(T227* C,T0* a1){
T0* R=NULL;
T2 _i=0;
/*[IF*/
if(((C)->_current_type/*4*/)!=((void*)(NULL))){
{T227*n=malloc(sizeof(*n));
*n=M227;
/*[IRF3.3make*/((((T227*)(n)))->_list)=(r228twin((T228*)((C)->_list/*0*/)));
/*]*/
R=(T0*)n;
}
R=r227to_runnable(((T227*)R),a1);
}
else{
C->_current_type=a1;
_i=1;
while (!(((_i)>(((T228*)((C)->_list/*0*/))->_upper/*8*/))||((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)>(0)))) {
/*[IRF3.6put*/{T228* C1=(T228*)((C)->_list/*0*/);
T0* b1=r226to_runnable((T226*)(r228item((T228*)((C)->_list/*0*/),_i)),a1);
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
R=(T0*)C;
}
/*FI]*/
return R;
}
/*No:IFTHENLIST.current_type*/
void r227collect_c_tmp(T227* C){
T2 _i=0;
_i=((T228*)((C)->_list/*0*/))->_upper/*8*/;
while (!((_i)==(0))) {
r226collect_c_tmp((T226*)(r228item((T228*)((C)->_list/*0*/),_i)));
_i=(_i)-(1);
}
}
/*No:IFTHENLIST.make*/
void r227afd_check(T227* C){
T2 _i=0;
_i=((T228*)((C)->_list/*0*/))->_upper/*8*/;
while (!((_i)==(0))) {
r226afd_check((T226*)(r228item((T228*)((C)->_list/*0*/),_i)));
_i=(_i)-(1);
}
}
/*No:IFTHENLIST.list*/
/*No:IFTHENLIST.static_true*/
T2 r230static_value(T230* C){
T2 R=0;
R=X56static_value((C)->_expression/*4*/);
return R;
}
void r230mapping_c_target(T230* C,T0* a1){
X56mapping_c_target((C)->_expression/*4*/,a1);
}
T6 r230is_static(T230* C){
T6 R=0;
R=X56is_static((C)->_expression/*4*/);
return R;
}
T6 r230can_be_dropped(T230* C){
T6 R=0;
R=X56can_be_dropped((C)->_expression/*4*/);
return R;
}
T6 r230is_manifest_string(T230* C){
T6 R=0;
R=X56is_manifest_string((C)->_expression/*4*/);
return R;
}
T0* r230start_position(T230* C){
T0* R=NULL;
R=X56start_position((C)->_expression/*4*/);
return R;
}
T6 r230c_simple(T230* C){
T6 R=0;
R=X56c_simple((C)->_expression/*4*/);
return R;
}
void r230c_declare_for_old(T230* C){
X56c_declare_for_old((C)->_expression/*4*/);
}
T0* r230add_comment(T230* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:EXPRESSION_WITH_COMMENT.expression*/
T2 r230to_integer(T230* C){
T2 R=0;
r230error(r230start_position(C),((T0*)ms13_45846));
return R;
}
T6 r230use_current(T230* C){
T6 R=0;
R=X56use_current((C)->_expression/*4*/);
return R;
}
void r230dca_inline_argument(T230* C,T0* a1){
X56dca_inline_argument((C)->_expression/*4*/,a1);
}
void r230compile_to_c(T230* C){
X56compile_to_c((C)->_expression/*4*/);
}
T0* r230to_runnable(T230* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
_e=X56to_runnable((C)->_expression/*4*/,a1);
/*[IF*/
if(((C)->_expression/*4*/)==((void*)(_e))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,_e,(C)->_comment/*8*/);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r230isa_dca_inline_argument(T230* C){
T2 R=0;
R=X56isa_dca_inline_argument((C)->_expression/*4*/);
return R;
}
void r230compile_to_c_old(T230* C){
X56compile_to_c_old((C)->_expression/*4*/);
}
T6 r230is_pre_computable(T230* C){
T6 R=0;
R=X56is_pre_computable((C)->_expression/*4*/);
return R;
}
void r230collect_c_tmp(T230* C){
X56collect_c_tmp((C)->_expression/*4*/);
}
/*No:EXPRESSION_WITH_COMMENT.fz_iinaiv*/
T0* r230result_type(T230* C){
T0* R=NULL;
R=X56result_type((C)->_expression/*4*/);
return R;
}
void r230error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r230make(T230* C,T0* a1,T0* a2){
C->_expression=a1;
C->_comment=a2;
}
T6 r230is_current(T230* C){
T6 R=0;
R=X56is_current((C)->_expression/*4*/);
return R;
}
void r230mapping_c_arg(T230* C,T0* a1){
X56mapping_c_arg((C)->_expression/*4*/,a1);
}
T6 r230is_void(T230* C){
T6 R=0;
R=X56is_void((C)->_expression/*4*/);
return R;
}
/*No:EXPRESSION_WITH_COMMENT.comment*/
void r230afd_check(T230* C){
X56afd_check((C)->_expression/*4*/);
}
T6 r230is_result(T230* C){
T6 R=0;
R=X56is_result((C)->_expression/*4*/);
return R;
}
T2 r143static_value(T143* C){
T2 R=0;
/*[IF*/
if(X54is_integer(X56result_type((C)->_target/*4*/))){
/*[IF*/
if(X56is_static((C)->_target/*4*/)){
R=-(X56static_value((C)->_target/*4*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_PREFIX_MINUS.call_proc_call_c2c*/
/*No:CALL_PREFIX_MINUS.feature_name*/
void r143finalize(T143* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(C)->_run_feature/*8*/;
_rc=X54run_class(/*X51current_type*/((T0*)(((T324*)_rf))->_current_type/*4*/));
C->_run_feature=r24dynamic((T24*)(r328first((T328*)((((T24*)_rc))->_running/*12*/))),_rf);
}
T6 r143is_static(T143* C){
T6 R=0;
/*[IF*/
if(X54is_integer(X56result_type((C)->_target/*4*/))){
/*[IF*/
if(X56is_static((C)->_target/*4*/)){
R=1;
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_PREFIX_MINUS.is_manifest_string*/
T0* r143start_position(T143* C){
T0* R=NULL;
R=((T142*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
/*No:CALL_PREFIX_MINUS.c_simple*/
T0* r143add_comment(T143* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r143to_integer(T143* C){
T2 R=0;
T0* _rf1=NULL;
_rf1=(C)->_run_feature/*8*/;
if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
case 376:
break;
default:
_rf1=NULL;
};/*[IF*/
if((_rf1)==((void*)(NULL))){
r143error(r143start_position(C),((T0*)ms13_45846));
}
else{
R=X56to_integer((((T376*)_rf1))->_value/*36*/);
}
/*FI]*/
return R;
}
T6 r143use_current(T143* C){
T6 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if(R){
}
else if(X56is_current((C)->_target/*4*/)){
R=X51use_current((C)->_run_feature/*8*/);
}
else{
R=X56use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T0* r143to_runnable(T143* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _t=NULL;
_t=r143runnable_expression((C)->_target/*4*/,a1);
_rf=r143run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*8*/)==((void*)(NULL))){
C->_target=_t;
C->_run_feature=_rf;
r143run_feature_match(C);
R=(T0*)C;
}
else if((_t)==((void*)((C)->_target/*4*/))){
R=(T0*)C;
}
else{
{T143*n=malloc(sizeof(*n));
*n=M143;
r143with(n,_t,(C)->_feature_name/*12*/,_rf);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r143compile_to_c_old(T143* C){
X56compile_to_c_old((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:CALL_PREFIX_MINUS.is_pre_computable*/
void r143collect_c_tmp(T143* C){
/*[IF*/
if(((C)->_run_feature/*8*/)!=((void*)(NULL))){
X51collect_c_tmp((C)->_run_feature/*8*/);
}
/*FI]*/
X56collect_c_tmp((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*No:CALL_PREFIX_MINUS.fz_iinaiv*/
T0* r143result_type(T143* C){
T0* R=NULL;
R=X51result_type((C)->_run_feature/*8*/);
/*[IF*/
if(X54is_like_current(R)){
R=/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*8*/))->_current_type/*4*/);
}
/*FI]*/
return R;
}
/*No:CALL_PREFIX_MINUS.run_feature*/
/*No:CALL_PREFIX_MINUS.fz_07*/
/*No:CALL_PREFIX_MINUS.arg_count*/
void r143with(T143* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_run_feature=a3;
r143run_feature_match(C);
}
/*No:CALL_PREFIX_MINUS.is_result*/
/*No:CALL_PREFIX_MINUS.fatal_error*/
void r143mapping_c_target(T143* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_actual_type=X54run_type(r143result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
X54mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r143compile_to_c(C);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:CALL_PREFIX_MINUS.us_minus*/
void r143run_feature_match(T143* C){
r143run_feature_has_result(C);
/*[IF*/
if((X51arg_count((C)->_run_feature/*8*/))>(0)){
r21add_position(((T142*)((C)->_feature_name/*12*/))->_start_position/*8*/);
r21add_position(X51start_position((C)->_run_feature/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms141_50512);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
/*No:CALL_PREFIX_MINUS.arguments*/
T0* r143runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X56to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X56start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms118_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
T6 r143can_be_dropped(T143* C){
T6 R=0;
/*[IF*/
if(X56can_be_dropped((C)->_target/*4*/)){
R=X51can_be_dropped((C)->_run_feature/*8*/);
}
/*FI]*/
return R;
}
void r143c_declare_for_old(T143* C){
X56c_declare_for_old((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
void r143dca_inline_argument(T143* C,T0* a1){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\55';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
X56dca_inline_argument((C)->_target/*4*/,a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
void r143compile_to_c(T143* C){
/*[IF*/
if((r43boost((T43*)(oBC12run_control)))&&(X54is_basic_eiffel_expanded(/*X51current_type*/((T0*)((T324*)((C)->_run_feature/*8*/))->_current_type/*4*/)))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\55';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
X56compile_to_c((C)->_target/*4*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.6call_proc_call_c2c*/{T143* C1=C;
r25put_cpc((T25*)(oBC12cpp),(T0*)C1);
}/*]*/
}
/*FI]*/
}
T2 r143isa_dca_inline_argument(T143* C){
T2 R=0;
/*[IF*/
if(X54is_integer(r143result_type(C))){
R=X56isa_dca_inline_argument((C)->_target/*4*/);
}
/*FI]*/
return R;
}
void r143run_feature_has_result(T143* C){
/*[IF*/
if((X51result_type((C)->_run_feature/*8*/))==((void*)(NULL))){
r21add_position(X51start_position((C)->_run_feature/*8*/));
r21add_position(((T142*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms117_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r143run_feature_for(T143* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type(a1));
R=r24get_rf(((T24*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_PREFIX_MINUS.target*/
void r143error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r143make(T143* C,T0* a1,T0* a2){
{T142*n=malloc(sizeof(*n));
*n=M142;
r142make(n,r143operator(),a1);
C->_feature_name=(T0*)n;
}
C->_target=a2;
}
/*No:CALL_PREFIX_MINUS.is_current*/
void r143mapping_c_arg(T143* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X54run_type(r143result_type(C));
/*[IF*/
if(X54is_reference(_actual_type)){
/*[IF*/
if(X54is_reference(a1)){
r143compile_to_c(C);
}
else{
X54to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X54need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\46';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r143compile_to_c(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r143compile_to_c(C);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:CALL_PREFIX_MINUS.is_void*/
T0* r143operator(void){
T0* R=NULL;
R=((T0*)ms14_46);
return R;
}
void r143afd_check(T143* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X54run_class(X56result_type((C)->_target/*4*/));
_running=(((T24*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X56start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms118_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r24set_at_run_time(((T24*)_rc));
}
else if((r328count(((T328*)_running)))>(1)){
r331update((C)->_target/*4*/,(C)->_run_feature/*8*/);
}
/*FI]*/
X56afd_check((C)->_target/*4*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
T0* r169type_boolean(void){
if(fBC12type_boolean==0){
fBC12type_boolean=1;
{T264*n=malloc(sizeof(*n));
*n=M264;
r264make(n,NULL);
oBC12type_boolean=(T0*)n;
}
}
return oBC12type_boolean;}
/*No:E_FALSE.static_value*/
/*No:E_FALSE.mapping_c_target*/
/*No:E_FALSE.is_static*/
/*No:E_FALSE.can_be_dropped*/
/*No:E_FALSE.is_manifest_string*/
/*No:E_FALSE.start_position*/
/*No:E_FALSE.c_simple*/
/*No:E_FALSE.c_declare_for_old*/
T0* r169add_comment(T169* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:E_FALSE.to_integer*/
/*No:E_FALSE.use_current*/
/*No:E_FALSE.dca_inline_argument*/
/*No:E_FALSE.compile_to_c*/
/*No:E_FALSE.to_runnable*/
T2 r169isa_dca_inline_argument(void){
T2 R=0;
/*[IF*/
{/*AT*/R=-(1);
}
/*FI]*/
return R;
}
/*No:E_FALSE.compile_to_c_old*/
/*No:E_FALSE.is_pre_computable*/
/*No:E_FALSE.collect_c_tmp*/
/*No:E_FALSE.fz_iinaiv*/
/*No:E_FALSE.result_type*/
void r169error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:E_FALSE.make*/
/*No:E_FALSE.is_current*/
/*No:E_FALSE.is_void*/
void r169mapping_c_arg(T0* a1){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.6to_reference*/{T264* C1=(T264*)(/*(IRF4.8result_type*/r169type_boolean()/*)*/);
r25to_reference((T25*)(oBC12cpp),(T0*)C1,r264type_boolean_ref());
}/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='0';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
/*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='0';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*]*/
}
/*FI]*/
}
/*No:E_FALSE.afd_check*/
/*No:E_FALSE.is_result*/
/*No:ARGUMENT_NAME2.static_value*/
/*No:ARGUMENT_NAME2.is_static*/
/*No:ARGUMENT_NAME2.is_manifest_string*/
/*No:ARGUMENT_NAME2.start_position*/
T0* r188to_string(T188* C){
T0* R=NULL;
R=((T190*)(/*(IRF4.6name*/r191item(((T191*)(((T187*)((C)->_formal_arg_list/*12*/))->_flat_list/*8*/)),(C)->_rank/*8*/)/*)*/))->_to_string/*8*/;
return R;
}
/*No:ARGUMENT_NAME2.c_simple*/
T0* r188add_comment(T188* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T230*n=malloc(sizeof(*n));
*n=M230;
r230make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r188to_integer(T188* C){
T2 R=0;
r188error((C)->_start_position/*4*/,((T0*)ms13_45846));
return R;
}
/*No:ARGUMENT_NAME2.rank*/
/*No:ARGUMENT_NAME2.use_current*/
T0* r188to_runnable(T188* C,T0* a1){
T0* R=NULL;
T0* _fal=NULL;
T0* _rf=NULL;
_rf=r22top_rf((T22*)(oBC12small_eiffel));
_fal=X51arguments(_rf);
/*[IF*/
if(((C)->_formal_arg_list/*12*/)==((void*)(_fal))){
R=(T0*)C;
}
else{
{T188*n=malloc(sizeof(*n));
*n=M188;
r188with(n,(T0*)C,_fal);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:ARGUMENT_NAME2.compile_to_c_old*/
/*No:ARGUMENT_NAME2.is_pre_computable*/
/*No:ARGUMENT_NAME2.collect_c_tmp*/
/*No:ARGUMENT_NAME2.fz_iinaiv*/
T0* r188result_type(T188* C){
T0* R=NULL;
R=r187type((T187*)((C)->_formal_arg_list/*12*/),(C)->_rank/*8*/);
return R;
}
void r188with(T188* C,T0* a1,T0* a2){
*((T188*)(C))=*((T188*)(a1));
C->_formal_arg_list=a2;
}
/*No:ARGUMENT_NAME2.is_result*/
void r188mapping_c_target(T188* C,T0* a1){
T0* _rt=NULL;
T6 _flag=0;
_flag=r25call_invariant_start(a1);
_rt=X54run_type(r188result_type(C));
/*[IF*/
if(X54is_reference(_rt)){
/*[IF*/
if(X54is_reference(a1)){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_510));
/*]*/
/*[IRF3.5put_integer*/r45put_integer(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X54id(a1));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_172));
/*]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*No:ARGUMENT_NAME2.can_be_dropped*/
/*No:ARGUMENT_NAME2.c_declare_for_old*/
/*No:ARGUMENT_NAME2.dca_inline_argument*/
/*No:ARGUMENT_NAME2.fz_b7*/
void r188compile_to_c(T188* C){
/*[IF*/
if(X54is_user_expanded(r188result_type(C))){
/*[IF*/
if(X54is_dummy_expanded(r188result_type(C))){
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\52';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
/*No:ARGUMENT_NAME2.fz_b8*/
/*No:ARGUMENT_NAME2.isa_dca_inline_argument*/
/*No:ARGUMENT_NAME2.formal_arg_list*/
void r188refer_to(T188* C,T0* a1,T0* a2,T2 a3){
C->_start_position=a1;
C->_formal_arg_list=a2;
C->_rank=a3;
}
void r188error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:ARGUMENT_NAME2.is_current*/
void r188mapping_c_arg(T188* C,T0* a1){
T0* _rt=NULL;
_rt=X54run_type(r188result_type(C));
/*[IF*/
if(X54is_reference(_rt)){
/*[IF*/
if(X54is_reference(a1)){
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
else{
X54to_expanded(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X54is_reference(a1)){
X54to_reference(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\50';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IF*/
if(X54is_user_expanded(_rt)){
/*[IF*/
if(!(X54is_dummy_expanded(_rt))){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\52';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\51';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else{
r25print_argument((T25*)(oBC12cpp),(C)->_rank/*8*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:ARGUMENT_NAME2.is_void*/
/*No:ARGUMENT_NAME2.afd_check*/
T0* r225start_position(T225* C){
T0* R=NULL;
R=X161start_position((C)->_instruction/*4*/);
return R;
}
/*No:INSTRUCTION_WITH_COMMENT.add_comment*/
T6 r225use_current(T225* C){
T6 R=0;
R=X161use_current((C)->_instruction/*4*/);
return R;
}
void r225compile_to_c(T225* C){
X161compile_to_c((C)->_instruction/*4*/);
}
T0* r225to_runnable(T225* C,T0* a1){
T0* R=NULL;
T0* _ri=NULL;
_ri=X161to_runnable((C)->_instruction/*4*/,a1);
/*[IF*/
if((_ri)==((void*)(NULL))){
r225error(X161start_position((C)->_instruction/*4*/),((T0*)ms225_18416));
R=(T0*)C;
}
else if((_ri)==((void*)((C)->_instruction/*4*/))){
R=(T0*)C;
}
else{
{T225*n=malloc(sizeof(*n));
*n=M225;
r225make(n,_ri,(C)->_comment/*8*/);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T6 r225is_pre_computable(T225* C){
T6 R=0;
R=X161is_pre_computable((C)->_instruction/*4*/);
return R;
}
/*No:INSTRUCTION_WITH_COMMENT.instruction*/
void r225collect_c_tmp(T225* C){
X161collect_c_tmp((C)->_instruction/*4*/);
}
void r225error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:INSTRUCTION_WITH_COMMENT.end_mark_comment*/
void r225make(T225* C,T0* a1,T0* a2){
C->_instruction=a1;
C->_comment=a2;
}
/*No:INSTRUCTION_WITH_COMMENT.comment*/
void r225afd_check(T225* C){
X161afd_check((C)->_instruction/*4*/);
}
/*No:IFTHENELSE.clear_current_type*/
/*No:IFTHENELSE.nb_errors*/
/*No:IFTHENELSE.static_false*/
/*No:IFTHENELSE.non_static*/
/*No:IFTHENELSE.fz_else*/
/*No:IFTHENELSE.start_position*/
T0* r222twin(T222* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T222*)R)=*C;
return R;
}
T0* r222add_comment(T222* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else {/*AT*//*[IF*/
if((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(1)){
R=(T0*)C;
}
else{
{T225*n=malloc(sizeof(*n));
*n=M225;
r225make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:IFTHENELSE.set_else_compound*/
T6 r222use_current(T222* C){
T6 R=0;
/*[IF*/
if(r227use_current((T227*)((C)->_ifthenlist/*8*/))){
R=1;
}
else if(((C)->_else_compound/*12*/)!=((void*)(NULL))){
R=r216use_current((T216*)((C)->_else_compound/*12*/));
}
/*FI]*/
return R;
}
void r222add_if_then(T222* C,T0* a1,T0* a2){
T0* _ifthen=NULL;
{T226*n=malloc(sizeof(*n));
*n=M226;
r226make(n,a1,a2);
_ifthen=(T0*)n;
}
/*[IF*/
if(((C)->_ifthenlist/*8*/)==((void*)(NULL))){
{T227*n=malloc(sizeof(*n));
*n=M227;
/*[IRF3.3make*/((((T227*)(n)))->_list)=(se_ma228(1,
_ifthen));
/*]*/
C->_ifthenlist=(T0*)n;
}
}
else{
/*[IRF3.5add_last*/r228add_last(((T228*)(((T227*)((C)->_ifthenlist/*8*/))->_list/*0*/)),_ifthen);
/*]*/
}
/*FI]*/
}
void r222compile_to_c(T222* C){
T2 _static_value=0;
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms222_3344));
/*]*/
_static_value=r227compile_to_c((T227*)((C)->_ifthenlist/*8*/));
{int z1=_static_value;
if((21==z1)){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms222_2450));
/*]*/
/*[IF*/
if(((C)->_else_compound/*12*/)!=((void*)(NULL))){
r216compile_to_c((T216*)((C)->_else_compound/*12*/));
}
/*FI]*/
}
else
if((20==z1)){
}
else {/*[IF*/
if(((C)->_else_compound/*12*/)!=((void*)(NULL))){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_1740));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_272));
/*]*/
r216compile_to_c((T216*)((C)->_else_compound/*12*/));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_276));
/*]*/
}
/*FI]*/
}}
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms222_3360));
/*]*/
}
T0* r222to_runnable(T222* C,T0* a1){
T0* R=NULL;
T0* _ec=NULL;
T0* _itl=NULL;
T2 _ne=0;
_ne=/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/;
/*[IF*/
if(((C)->_current_type/*16*/)==((void*)(NULL))){
C->_current_type=a1;
_itl=r227to_runnable((T227*)((C)->_ifthenlist/*8*/),a1);
/*[IF*/
if((_itl)==((void*)(NULL))){
}
else{
C->_ifthenlist=_itl;
}
/*FI]*/
/*[IF*/
if((((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)-(_ne))==(0))&&(((C)->_else_compound/*12*/)!=((void*)(NULL)))){
_ec=r216to_runnable((T216*)((C)->_else_compound/*12*/),a1);
/*[IF*/
if((_ec)==((void*)(NULL))){
}
else{
C->_else_compound=_ec;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((_itl)!=((void*)(NULL))){
R=(T0*)C;
}
/*FI]*/
}
else{
R=r222twin(C);
/*[IRF3.3clear_current_type*/((((T222*)(((T222*)R))))->_current_type)=(NULL);
/*]*/
R=r222to_runnable(((T222*)R),a1);
}
/*FI]*/
return R;
}
/*No:IFTHENELSE.ifthenlist*/
/*No:IFTHENELSE.else_compound*/
/*No:IFTHENELSE.current_type*/
/*No:IFTHENELSE.fz_11*/
/*No:IFTHENELSE.is_pre_computable*/
/*No:IFTHENELSE.fz_12*/
/*No:IFTHENELSE.collect_c_tmp*/
/*No:IFTHENELSE.end_mark_comment*/
/*No:IFTHENELSE.make*/
void r222afd_check(T222* C){
r227afd_check((T227*)((C)->_ifthenlist/*8*/));
/*[IF*/
if(((C)->_else_compound/*12*/)!=((void*)(NULL))){
r216afd_check((T216*)((C)->_else_compound/*12*/));
}
/*FI]*/
}
/*No:IFTHENELSE.static_true*/
void r376c_assertion_flag(T376* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms51_3077376)))))->_count)=(0);
/*]*/
r376c_frame_descriptor_name_in(C,((T0*)ms51_3077376));
r7append((T7*)(((T0*)ms51_3077376)),((T0*)ms51_30510));
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_3077376));
/*]*/
}
/*No:RUN_FEATURE_1.c_define*/
/*No:RUN_FEATURE_1.rescue_compound*/
void r376fall_down(T376* C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
T2 _i=0;
T0* _running=NULL;
_current_rc=X54run_class((C)->_current_type/*4*/);
_running=(((T24*)_current_rc))->_running/*12*/;
/*[IF*/
if((_running)!=((void*)(NULL))){
_current_bc=X54base_class((C)->_current_type/*4*/);
_i=(((T328*)_running))->_lower/*12*/;
while (!((_i)>((((T328*)_running))->_upper/*8*/))) {
_sub_rc=r328item(((T328*)_running),_i);
/*[IF*/
if((_sub_rc)!=((void*)(_current_rc))){
_sub_bc=X54base_class((((T24*)_sub_rc))->_current_type/*0*/);
_sub_name=r63new_name_of(((T63*)_sub_bc),_current_bc,(C)->_name/*16*/);
_rf=r24get_feature(((T24*)_sub_rc),_sub_name);
}
/*FI]*/
_i=(_i)+(1);
}
}
/*FI]*/
}
/*No:RUN_FEATURE_1.use_current_state*/
/*No:RUN_FEATURE_1.actuals_clients*/
void r376address_of_c_define(T376* C,T0* a1){
r21add_position(r160start_position(((T160*)a1)));
r21add_position(r376start_position(C));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms376_106984);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*No:RUN_FEATURE_1.ucs_false*/
T6 r376is_static(T376* C){
T6 R=0;
R=X56is_static((C)->_value/*36*/);
return R;
}
T0* r376start_position(T376* C){
T0* R=NULL;
R=X200start_position((C)->_base_feature/*32*/);
return R;
}
T6 r376use_current(T376* C){
T6 R=0;
{int z1=(C)->_use_current_state/*28*/;
if((14==z1)){
R=1;
}
else
if((13==z1)){
}
else
if((15==z1)){
C->_use_current_state=16;
/*[IRF3.4compute_use_current*/r376std_compute_use_current(C);
/*]*/
R=r376use_current(C);
}
else {R=1;
}}
return R;
}
/*No:RUN_FEATURE_1.c_code*/
T2 r376id(T376* C){
T2 R=0;
R=X54id((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_1.ucs_not_computed*/
/*No:RUN_FEATURE_1.is_pre_computable*/
/*No:RUN_FEATURE_1.collect_c_tmp*/
void r376std_compute_use_current(T376* C){
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_require_assertion/*20*/)!=((void*)(NULL))){
/*[IF*/
if(r357use_current((T357*)((C)->_require_assertion/*20*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
/*[IF*/
if(((C)->_ensure_assertion/*24*/)!=((void*)(NULL))){
/*[IF*/
if(r215use_current((T215*)((C)->_ensure_assertion/*24*/))){
C->_use_current_state=14;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_use_current_state/*28*/)==(16)){
C->_use_current_state=13;
}
/*FI]*/
}
T0* r376run_class(T376* C){
T0* R=NULL;
R=X54run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_1.result_type*/
/*No:RUN_FEATURE_1.base_feature*/
T2 r376static_value_mem(T376* C){
T2 R=0;
R=X56static_value((C)->_value/*36*/);
return R;
}
/*No:RUN_FEATURE_1.ensure_assertion*/
T2 r376arg_count(void){
T2 R=0;
/*[IF*/
/*AF*//*AE*/
/*FI]*/
return R;
}
T6 r376is_exported_in(T376* C,T0* a1){
T6 R=0;
R=r101gives_permission_to((T101*)(r376clients(C)),a1);
return R;
}
/*No:RUN_FEATURE_1.fz_close_c_comment*/
/*No:RUN_FEATURE_1.address_of_c_mapping*/
/*No:RUN_FEATURE_1.value*/
/*No:RUN_FEATURE_1.fatal_error*/
/*No:RUN_FEATURE_1.arguments*/
void r376mapping_c(T376* C){
T0* _real_constant=NULL;
/*[IF*/
if(X54is_double((C)->_result_type/*40*/)){
_real_constant=(C)->_value/*36*/;
if(NULL!=(_real_constant))switch(((T0*)_real_constant)->id) {
case 173:
break;
default:
_real_constant=NULL;
};/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),(((T173*)_real_constant))->_to_string/*8*/);
/*]*/
}
else{
X56compile_to_c((C)->_value/*36*/);
}
/*FI]*/
}
/*No:RUN_FEATURE_1.can_be_dropped*/
void r376initialize(T376* C){
T2 _i=0;
C->_result_type=/*X200result_type*/((T0*)((T213*)((C)->_base_feature/*32*/))->_result_type/*20*/);
C->_result_type=X54to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
_i=r85index_of((T85*)(/*X200names*/((T0*)((T213*)((C)->_base_feature/*32*/))->_names/*8*/)),(C)->_name/*16*/);
C->_value=X200value((C)->_base_feature/*32*/,_i);
C->_value=X56to_runnable((C)->_value/*36*/,(C)->_current_type/*4*/);
}
/*No:RUN_FEATURE_1.require_assertion*/
/*No:RUN_FEATURE_1.clients_memory*/
/*No:RUN_FEATURE_1.current_type*/
void r376nothing_comment(T376* C){
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_184a));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms51_759));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X54run_time_mark((C)->_current_type/*4*/));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\56';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_string((C)->_name/*16*/));
/*]*/
/*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_184));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
T3 b1='\n';
putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
}/*]*/
/*]*/
}
void r376add_client(T376* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T60*n=malloc(sizeof(*n));
*n=M60;
r60with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r60fast_index_of((T60*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T60*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r60add_last((T60*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r24add_client((T24*)(r376run_class(C)),a1);
}
/*No:RUN_FEATURE_1.ucs_in_computation*/
/*No:RUN_FEATURE_1.compute_use_current*/
void r376make(T376* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r325put(((T325*)(((T24*)(r376run_class(C)))->_feature_dictionary/*24*/)),(T0*)C,X83to_key(a2));
/*]*/
r22incr_magic_count((T22*)(oBC12small_eiffel));
C->_use_current_state=15;
r22push((T22*)(oBC12small_eiffel),(T0*)C);
r376initialize(C);
r22pop((T22*)(oBC12small_eiffel));
}
/*No:RUN_FEATURE_1.routine_body*/
/*No:RUN_FEATURE_1.ucs_true*/
/*No:RUN_FEATURE_1.name*/
/*No:RUN_FEATURE_1.local_vars*/
/*No:RUN_FEATURE_1.fz_open_c_comment*/
/*No:RUN_FEATURE_1.afd_check*/
T0* r376clients(T376* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X54base_class((C)->_current_type/*4*/);
_bfbc=/*X200base_class*/((T0*)((T213*)((C)->_base_feature/*32*/))->_base_class/*4*/);
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=/*X200clients*/((T0*)((T213*)((C)->_base_feature/*32*/))->_clients/*16*/);
}
else{
R=r63clients_for(((T63*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
void r376c_frame_descriptor_name_in(T376* C,T0* a1){
r7extend(((T7*)a1),'f');
r2append_in(r376id(C),a1);
X83mapping_c_in((C)->_name/*16*/,a1);
}
/*No:ONCE_FUNCTION.rescue_compound*/
/*No:ONCE_FUNCTION.use_current_state*/
T0* r306run_require(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _ar=NULL;
T0* _hc=NULL;
T0* _er=NULL;
T0* _r=NULL;
T2 _i=0;
r358clear((T358*)(oBC93require_collector));
_ct=/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/);
r63collect_for((T63*)(X54base_class(_ct)),1,/*X51name*/((T0*)(((T324*)a1))->_name/*16*/));
/*[IF*/
if(!(r358empty((T358*)(oBC93require_collector)))){
_i=1;
while (!((_i)>(((T358*)(oBC93require_collector))->_upper/*8*/))) {
_er=r358item((T358*)(oBC93require_collector),_i);
_hc=(((T286*)_er))->_header_comment/*4*/;
/*[IF*/
if(!(/*(IRF4.7empty*/((((T286*)_er))->_list/*8*/)==(NULL)/*)*/)){
_r=r306runnable((((T286*)_er))->_list/*8*/,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T286*n=malloc(sizeof(*n));
*n=M286;
r286make_runnable(n,_r,_ct,a1);
_er=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T286*)(((T286*)_er))))->_header_comment)=(_hc);
/*]*/
/*[IF*/
if((_ar)==((void*)(NULL))){
_ar=se_ma358(1,
_er);
}
else{
r358add_last(((T358*)_ar),_er);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_i=(_i)+(1);
}
/*[IF*/
if((_ar)!=((void*)(NULL))){
{T357*n=malloc(sizeof(*n));
*n=M357;
/*[IRF3.3make*/((((T357*)(n)))->_list)=(_ar);
/*]*/
R=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:ONCE_FUNCTION.base_class*/
/*No:ONCE_FUNCTION.set_rescue_compound*/
/*No:ONCE_FUNCTION.base_class_name*/
T0* r306start_position(T306* C){
T0* R=NULL;
R=X83start_position(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r306is_merge_with(T306* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*56*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*56*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*24*/)==((void*)(NULL)))||((X93arguments(a1))==((void*)(NULL)))){
R=0;
}
else if((/*(IRF4.6count*/(((T191*)(((T187*)((C)->_arguments/*24*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T191*)(((T187*)(X93arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*56*/)!=((void*)(NULL))){
R=X54is_a_in((C)->_result_type/*56*/,X93result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*24*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)((C)->_arguments/*24*/),X93arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*56*/)!=((void*)(NULL))){
R=X54is_a_in(X93result_type(a1),(C)->_result_type/*56*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&(((C)->_arguments/*24*/)!=((void*)(NULL)))){
R=r187is_a_in((T187*)(X93arguments(a1)),(C)->_arguments/*24*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r306merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
T0* r306runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
T2 _i=0;
/*[IF*/
if(!(r106empty(((T106*)a1)))){
R=r106twin(((T106*)a1));
_i=(((T106*)R))->_upper/*8*/;
while (!((_i)==(0))) {
r22push((T22*)(oBC12small_eiffel),a3);
_a=r103to_runnable((T103*)(r106item(((T106*)R),_i)),a2);
/*[IF*/
if((_a)==((void*)(NULL))){
r306error(r103start_position((T103*)(r106item(((T106*)R),_i))),((T0*)ms13_14266));
}
else{
/*[IRF3.6put*/{T106* C1=((T106*)R);
T0* b1=_a;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI]*/
r22pop((T22*)(oBC12small_eiffel));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:ONCE_FUNCTION.not_computed*/
/*No:ONCE_FUNCTION.first_name*/
/*No:ONCE_FUNCTION.em1*/
/*No:ONCE_FUNCTION.header_comment*/
/*No:ONCE_FUNCTION.names*/
void r306mapping_c_name_in(T306* C,T0* a1){
r63mapping_c_in((T63*)((C)->_base_class/*4*/),a1);
r7append(((T7*)a1),X83to_key(/*(IRF4.6first_name*/r85item(((T85*)((C)->_names/*8*/)),1)/*)*/));
}
/*No:ONCE_FUNCTION.fz_03*/
/*No:ONCE_FUNCTION.result_type*/
/*No:ONCE_FUNCTION.code_require*/
/*No:ONCE_FUNCTION.make_e_feature*/
void r306add_into(T306* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r70base_class((T70*)(X83start_position(r85item((T85*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r85count((T85*)((C)->_names/*8*/))))) {
_fn=r85item((T85*)((C)->_names/*8*/),_i);
/*[IF*/
if(r92has(((T92*)a1),X83to_key(_fn))){
_fn=/*X93first_name*/((T0*)/*(IRF4.6first_name*/r85item(((T85*)(((T199*)(r92at(((T92*)a1),X83to_key(_fn))))->_names/*8*/)),1)/*)*/);
r21add_position(X83start_position(_fn));
r21add_position(X83start_position(r85item((T85*)((C)->_names/*8*/),_i)));
r21error((T21*)(oBC12eh),((T0*)ms93_41905));
/*[IRF3.6append*/{T0* b1=X83to_string(_fn);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
else{
r92put(((T92*)a1),(T0*)C,X83to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r306can_hide(T306* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*56*/)!=((void*)(X93result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*56*/)==((void*)(NULL)))||((X93result_type(a1))==((void*)(NULL)))){
r21add_position(X93start_position(a1));
r306error(r306start_position(C),((T0*)ms93_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(X93arguments(a1)))){
/*[IF*/
if((((C)->_arguments/*24*/)==((void*)(NULL)))||((X93arguments(a1))==((void*)(NULL)))){
r21add_position(X93start_position(a1));
r306error(r306start_position(C),((T0*)ms93_83182));
}
else if((/*(IRF4.6count*/(((T191*)(((T187*)((C)->_arguments/*24*/))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T191*)(((T187*)(X93arguments(a1)))->_flat_list/*8*/)))->_upper/*12*//*)*/)){
r21add_position(X93start_position(a1));
r306error(r306start_position(C),((T0*)ms93_67155));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*56*/)!=((void*)(NULL))){
/*[IF*/
if(!(X54is_a_in((C)->_result_type/*56*/,X93result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_arguments/*24*/)!=((void*)(NULL))){
/*[IF*/
if(!(r187is_a_in((T187*)((C)->_arguments/*24*/),X93arguments(a1),a2))){
r21add_position(X93start_position(a1));
r21add_position(r306start_position(C));
/*[IRF3.6append*/{T0* b1=((T0*)ms93_54285);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X54run_time_mark((((T24*)a2))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21error((T21*)(oBC12eh),((T0*)ms13_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r306merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:ONCE_FUNCTION.ensure_assertion*/
T0* r306run_ensure(T0* a1){
T0* R=NULL;
T0* _ct=NULL;
T0* _r=NULL;
r106clear((T106*)(oBC93assertion_collector));
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T371*)((T371*)(oBC93header_comment_memory))))->_item)=(_default_item);
}/*]*/
_ct=/*X51current_type*/((T0*)(((T324*)a1))->_current_type/*4*/);
r63collect_for((T63*)(X54base_class(_ct)),2,/*X51name*/((T0*)(((T324*)a1))->_name/*16*/));
_r=r306runnable(oBC93assertion_collector,_ct,a1);
/*[IF*/
if((_r)!=((void*)(NULL))){
{T215*n=malloc(sizeof(*n));
*n=M215;
r215make_runnable(n,_r,_ct,a1);
R=(T0*)n;
}
/*[IRF3.3set_header_comment*/((((T215*)(((T215*)R))))->_header_comment)=(((T371*)(oBC93header_comment_memory))->_item/*0*/);
/*]*/
/*[IRF3.3clear*/{T0* _default_item=NULL;
((((T371*)((T371*)(oBC93header_comment_memory))))->_item)=(_default_item);
}/*]*/
}
/*FI]*/
return R;
}
void r306check_obsolete(T306* C){
/*[IF*/
if(!(((T22*)(oBC12small_eiffel))->_short_flag/*8*/)){
/*[IF*/
if(((C)->_obsolete_mark/*28*/)!=((void*)(NULL))){
/*[IRF3.6append*/{T0* b1=((T0*)ms214_39396);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T171*)((C)->_obsolete_mark/*28*/))->_to_string/*8*/;
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r306warning(r306start_position(C),((T0*)ms13_166));
}
/*FI]*/
}
/*FI]*/
}
T0* r306try_to_undefine(T306* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r21add_position(X83start_position(a1));
_fn2=r85feature_name((T85*)((C)->_names/*8*/),X83to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X83undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC21explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T69*)((T69*)(oBC21positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r306try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X284set_clients*//*[IRF3.3set_clients*/((((T287*)(((T287*)R))))->_clients)=((C)->_clients/*20*/);
/*]*/
r306merge_header_comments(C,R);
}
else{
r63fatal_undefine(((T63*)a2),a1);
}
/*FI]*/
return R;
}
/*No:ONCE_FUNCTION.is_deferred*/
/*No:ONCE_FUNCTION.set_clients*/
/*No:ONCE_FUNCTION.code_ensure*/
/*No:ONCE_FUNCTION.nb_errors*/
void r306make_routine(T306* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T306*)(C)))->_names)=(a1);
/*]*/
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
T0* r306to_run_feature(T306* C,T0* a1,T0* a2){
T0* R=NULL;
r306check_obsolete(C);
{T50*n=malloc(sizeof(*n));
*n=M50;
r50make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
return R;
}
void r306merge_header_comments(T306* C,T0* a1){
/*[IF*/
if(((T22*)(oBC12small_eiffel))->_short_flag/*8*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/);
}
else if((/*X93header_comment*/((T0*)(((T199*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X93set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:ONCE_FUNCTION.arguments*/
/*No:ONCE_FUNCTION.require_assertion*/
void r306make_effective_routine(T306* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
r306make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=25;
}
void r306warning(T0* a1,T0* a2){
r21add_position(a1);
r21warning((T21*)(oBC12eh),a2);
}
T0* r306try_to_undefine_aux(T306* C,T0* a1,T0* a2){
T0* R=NULL;
{T287*n=malloc(sizeof(*n));
*n=M287;
r287from_effective(n,a1,(C)->_arguments/*24*/,(C)->_result_type/*56*/,(C)->_require_assertion/*32*/,(C)->_ensure_assertion/*36*/,a2);
R=(T0*)n;
}
return R;
}
/*No:ONCE_FUNCTION.set_ensure_assertion*/
/*No:ONCE_FUNCTION.fz_bad_assertion*/
/*No:ONCE_FUNCTION.fz_dot*/
T6 r306stupid_switch(T306* C,T0* a1,T0* a2){
T6 R=0;
R=((C)->_routine_body/*44*/)==((void*)(NULL));
return R;
}
void r306error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r306make(T306* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
r306make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
C->_result_type=a3;
}
/*No:ONCE_FUNCTION.routine_body*/
/*No:ONCE_FUNCTION.end_comment*/
void r306collect_for(T306* C,T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=(C)->_require_assertion/*32*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r358fast_has((T358*)(oBC93require_collector),_er))){
r358add_last((T358*)(oBC93require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
if(((C)->_ensure_assertion/*36*/)!=((void*)(NULL))){
/*[IRF3.3set_item*/((((T371*)((T371*)(oBC93header_comment_memory))))->_item)=(((T215*)((C)->_ensure_assertion/*36*/))->_header_comment/*4*/);
/*]*/
r215add_into((T215*)((C)->_ensure_assertion/*36*/),oBC93assertion_collector);
}
/*FI]*/
}
/*FI]*/
}
/*No:ONCE_FUNCTION.local_vars*/
void r306set_header_comment(T306* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)>(1))){
C->_end_comment=a1;
}
/*FI]*/
}
/*No:ONCE_FUNCTION.clients*/
/*No:ONCE_FUNCTION.obsolete_mark*/